package com.ITArmy.util;

import com.ITArmy.common.ServerResponse;
import com.mysql.cj.util.Base64Decoder;
import org.apache.commons.io.FileUtils;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.Calendar;
import java.util.UUID;

public class Base64 {
//
//
//    public ServerResponse uploadHeader(@RequestParam String base64Data, HttpServletRequest request, String picturePath) {
//        ServerResponse serverResponse;
//        String tempFileName;
//        String basePath = request.getSession().getServletContext().getRealPath(picturePath);
//        System.out.println("路径为：" + basePath);
//        String basePath2 = request.getRealPath("/");  //获取项目根目录绝对路径(xxx/Rainbow/)
//        System.out.println("路径2为：" + basePath2);
//        try {
//            String dataPrix = "";
//            String data = "";
//            if (base64Data == null || "".equals(base64Data)) {
//                throw new Exception("上传失败，上传图片数据为空");
//            } else {
//                String[] d = base64Data.split("base64,");
//                if (d != null && d.length == 2) {
//                    dataPrix = d[0];
//                    data = d[1];
//                } else {
//                    throw new Exception("上传失败，数据不合法");
//                }
//            }
//            String suffix = "";
//            if ("data:image/jpeg;".equalsIgnoreCase(dataPrix)) {//编码的jpeg图片数据
//                suffix = ".jpg";
//            } else if ("data:image/x-icon;".equalsIgnoreCase(dataPrix)) {//编码的icon图片数据
//                suffix = ".ico";
//            } else if ("data:image/gif;".equalsIgnoreCase(dataPrix)) {//编码的gif图片数据
//                suffix = ".gif";
//            } else if ("data:image/png;".equalsIgnoreCase(dataPrix)) {//编码的png图片数据
//                suffix = ".png";
//            } else {
//                throw new Exception("上传图片格式不合法");
//            }
////重命名文件名称
//            tempFileName = String.valueOf(Calendar.getInstance().getTimeInMillis()) + suffix;
//            String uuid = UUID.randomUUID().toString().replace("-", "");
//            tempFileName = uuid + tempFileName;
//            System.out.println("重命名文件名称" + tempFileName);
////因为BASE64Decoder的jar问题，此处使用spring框架提供的工具包
//            Base64Decoder decoder = new Base64Decoder();
//            byte[] bs = Base64Decoder.decode(data.getBytes(), 0, data.length()); //将base64转换成字节流decoder.decode
//            try {
////使用apache提供的工具类操作流
//
//                FileUtils.writeByteArrayToFile(new File(basePath + "\\" + tempFileName), bs);
//            } catch (Exception ee) {
//                throw new Exception("上传失败，写入文件失败，" + ee.getMessage());
//            }
//            System.out.println("路径为：" + picturePath + tempFileName);
//            return ServerResponse.createBySuccess(picturePath + tempFileName); //设置重命名文件名 显示在表单中,再提交至后台
//        } catch (Exception e) {
//            System.out.println(e.getMessage());
//            return ServerResponse.createByError();
//        }
//
//    }

}
